#include <iostream>
#include <algorithm>
using namespace std;
const int N=1e3+10;


int v[N],w[N],m[N];
int n,V,M;
int dp[N][N];
int main()
{
	cin>>n>>V>>M;
	
	for(int i=0;i<n;i++)
		scanf("%d%d%d",&v[i],&m[i],&w[i]);
	
	for(int i=0;i<n;i++)
	{
		for(int j=V;j>=v[i];j--)
		{
			for(int k=M;k>=m[i];k--)
			{
				dp[j][k]=max(dp[j][k],dp[j-v[i]][k-m[i]]+w[i]);
			}
		}
	}
	cout<<dp[V][M]<<endl;
	return 0;
}
